In the Business Intelligence (BI) computer applications domain, business decision makers use analytical software to pose operational performance questions as queries against multi-dimensionally modeled business databases and data warehouses. These multi-dimensional models or cubes and analysis software tools are based on Online Analytic Processing (OLAP) concepts and technology. The analysis activity typically involves creation and manipulation of a cross-tabular (also called “crosstab”) using queries which filter relevant data in the databases and data warehouses. A crosstab contains various dimensional and measure members.
With OLAP crosstabs, filtered sets of members are dependent on the context of the entire report because in dimensional algebra, every dimension participates in the crosstab query expression. If a member is not explicitly specified for a dimension in a query expression, then the default member for that dimension is implied. When the global context of the report changes, the filtered sets of members also change. There is no way to prevent a set of members from changing. That is to say, there is no way to specify a unique context that is specific to one filtered set, that context being shielded from changes to the global report context.
When a user wishes to create a static (i.e., unchanging) set of members for an axis of a crosstab, the user needs to specify a hard-coded list. That is, the user manually selects the members and inserts them into the crosstab. This approach creates an unchanging list of members that is impervious to global report context changes. This approach, however, has a major shortcoming in that the only type of set that supports this behaviour is one that is statically defined. This is undesirable in the case where the user wants the set to update itself if and only if the data in the underling cube changes, and not when the report context is modified.
It is therefore desirable to provide a mechanism for the ability for a user to define a filtered crosstab edge that is not affected by context anywhere else in the report.